﻿using llm_net.Models;
using llm_project.Models;

namespace llm_net.Services.Abstractions
{
    public interface IUserTagService
    {
        /// <summary>
        /// 根据用户行为生成标签及权重
        /// </summary>
        /// <param name="behavior">用户行为数据</param>
        /// <returns>标签与权重列表</returns>
        Task<List<TagWithWeightDto>> GenerateUserTagsAsync(UserBehaviorReq behavior);

        /// <summary>
        /// 批量生成用户标签
        /// </summary>
        /// <param name="batchRequest"></param>
        /// <returns></returns>
        Task<Dictionary<string, List<TagWithWeightDto>>> GenerateBatchUserTagsAsync(BatchUserBehaviorReq batchRequest);
        /// <summary>
        /// 获取全局标签池
        /// </summary>
        /// <returns>所有标签</returns>
        List<string> GetGlobalTagPool();
    }
}
